/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * VistaPrincipal.java
 *
 * Created on 29-12-2011, 02:38:34 PM
 */
package Vista;

import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;
import Controlador.ControladorCargarArchivos;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import Controlador.ControladorPrincipal;
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.xml.parsers.ParserConfigurationException;

/**
 *
 * @author Rodrigo
 */
public class VistaPrincipal extends javax.swing.JFrame {

    public int numeroEstado = 1;
    ControladorPrincipal control;
    //CAMBIAR MVC 
    public ControladorCargarArchivos controlador;
    public String nombreVista;
    static int nvista = 1;
    int cargarA = 0;
    int SA = 0;
    public int descripcion1Val;
    static final int MY_MINIMUM = 0;
    static final int MY_MAXIMUM = 134;
    public String nombreSesion = "";

    /** Creates new form VistaPrincipal */
    public VistaPrincipal(ControladorPrincipal control) {
        this.control = control;
        try {
// apariencia del SO
            UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(VistaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(VistaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(VistaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(VistaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        }
        initComponents();
    }

    public void indeterminateBar() {
        this.jProgressBar1.setIndeterminate(true);
    }

    public void stopBar() {
        this.jProgressBar1.setIndeterminate(false);
    }

    public void setTextChargeLabel(String text) {
        this.lblCargaEstado.setText(text);
    }

    public javax.swing.JPanel getPanel() {
        return jPanel3;
    }

    public int getSA() {
        return SA;
    }

    public void setSA(int SA) {
        this.SA = SA;
    }

    public void setDescripcion1Val(int descripcion1Val) {
        this.descripcion1Val = descripcion1Val;
    }

    public int getDescripcion1Val() {
        return descripcion1Val;
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        Estado1 = new javax.swing.JLabel();
        Estado2 = new javax.swing.JLabel();
        Estado3 = new javax.swing.JLabel();
        Estado4 = new javax.swing.JLabel();
        Estado5 = new javax.swing.JLabel();
        Estado6 = new javax.swing.JLabel();
        Estado7 = new javax.swing.JLabel();
        Estado8 = new javax.swing.JLabel();
        Estado9 = new javax.swing.JLabel();
        Estado10 = new javax.swing.JLabel();
        Estado11 = new javax.swing.JLabel();
        Estado12 = new javax.swing.JLabel();
        lblEtapa1 = new javax.swing.JLabel();
        lblEtapa2 = new javax.swing.JLabel();
        lblEtapa3 = new javax.swing.JLabel();
        lblEtapa4 = new javax.swing.JLabel();
        lblEtapa5 = new javax.swing.JLabel();
        lblEtapa6 = new javax.swing.JLabel();
        lblEtapa7 = new javax.swing.JLabel();
        lblEtapa8 = new javax.swing.JLabel();
        lblEtapa9 = new javax.swing.JLabel();
        lblEtapa10 = new javax.swing.JLabel();
        lblEtapa11 = new javax.swing.JLabel();
        lblEtapa12 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jProgressBar1 = new javax.swing.JProgressBar();
        jToolBar1 = new javax.swing.JToolBar();
        SesionAnterior = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        botonDeshacer = new javax.swing.JButton();
        BotonRehacer = new javax.swing.JButton();
        jButtonHelpToolBar = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        lblCargaEstado = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem8 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem4 = new javax.swing.JMenuItem();
        jMenuItem5 = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jMenuItem6 = new javax.swing.JMenuItem();
        jMenuItem7 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setName("Form"); // NOI18N
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(proyectodetitulo.ProyectoDeTituloApp.class).getContext().getResourceMap(VistaPrincipal.class);
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPEstados.border.title"))); // NOI18N
        jPanel1.setAlignmentX(0.0F);
        jPanel1.setName("jPEstados"); // NOI18N

        Estado1.setIcon(resourceMap.getIcon("Estado1.icon")); // NOI18N
        Estado1.setText(resourceMap.getString("Estado1.text")); // NOI18N
        Estado1.setName("Estado1"); // NOI18N

        Estado2.setIcon(resourceMap.getIcon("Estado2.icon")); // NOI18N
        Estado2.setText(resourceMap.getString("Estado2.text")); // NOI18N
        Estado2.setName("Estado2"); // NOI18N

        Estado3.setIcon(resourceMap.getIcon("Estado3.icon")); // NOI18N
        Estado3.setText(resourceMap.getString("Estado3.text")); // NOI18N
        Estado3.setName("Estado3"); // NOI18N

        Estado4.setIcon(resourceMap.getIcon("Estado4.icon")); // NOI18N
        Estado4.setText(resourceMap.getString("Estado4.text")); // NOI18N
        Estado4.setName("Estado4"); // NOI18N

        Estado5.setIcon(resourceMap.getIcon("Estado5.icon")); // NOI18N
        Estado5.setText(resourceMap.getString("Estado5.text")); // NOI18N
        Estado5.setName("Estado5"); // NOI18N

        Estado6.setIcon(resourceMap.getIcon("Estado6.icon")); // NOI18N
        Estado6.setText(resourceMap.getString("Estado6.text")); // NOI18N
        Estado6.setName("Estado6"); // NOI18N

        Estado7.setIcon(resourceMap.getIcon("Estado7.icon")); // NOI18N
        Estado7.setText(resourceMap.getString("Estado7.text")); // NOI18N
        Estado7.setName("Estado7"); // NOI18N

        Estado8.setIcon(resourceMap.getIcon("Estado8.icon")); // NOI18N
        Estado8.setText(resourceMap.getString("Estado8.text")); // NOI18N
        Estado8.setName("Estado8"); // NOI18N

        Estado9.setIcon(resourceMap.getIcon("Estado9.icon")); // NOI18N
        Estado9.setText(resourceMap.getString("Estado9.text")); // NOI18N
        Estado9.setName("Estado9"); // NOI18N

        Estado10.setIcon(resourceMap.getIcon("Estado10.icon")); // NOI18N
        Estado10.setText(resourceMap.getString("Estado10.text")); // NOI18N
        Estado10.setName("Estado10"); // NOI18N

        Estado11.setIcon(resourceMap.getIcon("Estado11.icon")); // NOI18N
        Estado11.setText(resourceMap.getString("Estado11.text")); // NOI18N
        Estado11.setName("Estado11"); // NOI18N

        Estado12.setIcon(resourceMap.getIcon("Estado12.icon")); // NOI18N
        Estado12.setText(resourceMap.getString("Estado12.text")); // NOI18N
        Estado12.setName("Estado12"); // NOI18N

        lblEtapa1.setText(resourceMap.getString("lblEtapa1.text")); // NOI18N
        lblEtapa1.setName("lblEtapa1"); // NOI18N

        lblEtapa2.setText(resourceMap.getString("lblEtapa2.text")); // NOI18N
        lblEtapa2.setEnabled(false);
        lblEtapa2.setName("lblEtapa2"); // NOI18N

        lblEtapa3.setText(resourceMap.getString("lblEtapa3.text")); // NOI18N
        lblEtapa3.setEnabled(false);
        lblEtapa3.setName("lblEtapa3"); // NOI18N

        lblEtapa4.setText(resourceMap.getString("lblEtapa4.text")); // NOI18N
        lblEtapa4.setEnabled(false);
        lblEtapa4.setName("lblEtapa4"); // NOI18N

        lblEtapa5.setText(resourceMap.getString("lblEtapa5.text")); // NOI18N
        lblEtapa5.setEnabled(false);
        lblEtapa5.setName("lblEtapa5"); // NOI18N

        lblEtapa6.setText(resourceMap.getString("lblEtapa6.text")); // NOI18N
        lblEtapa6.setEnabled(false);
        lblEtapa6.setName("lblEtapa6"); // NOI18N

        lblEtapa7.setText(resourceMap.getString("lblEtapa7.text")); // NOI18N
        lblEtapa7.setEnabled(false);
        lblEtapa7.setName("lblEtapa7"); // NOI18N

        lblEtapa8.setText(resourceMap.getString("lblEtapa8.text")); // NOI18N
        lblEtapa8.setEnabled(false);
        lblEtapa8.setName("lblEtapa8"); // NOI18N

        lblEtapa9.setText(resourceMap.getString("lblEtapa9.text")); // NOI18N
        lblEtapa9.setEnabled(false);
        lblEtapa9.setName("lblEtapa9"); // NOI18N

        lblEtapa10.setText(resourceMap.getString("lblEtapa10.text")); // NOI18N
        lblEtapa10.setEnabled(false);
        lblEtapa10.setName("lblEtapa10"); // NOI18N

        lblEtapa11.setText(resourceMap.getString("lblEtapa11.text")); // NOI18N
        lblEtapa11.setEnabled(false);
        lblEtapa11.setName("lblEtapa11"); // NOI18N

        lblEtapa12.setText(resourceMap.getString("lblEtapa12.text")); // NOI18N
        lblEtapa12.setEnabled(false);
        lblEtapa12.setName("lblEtapa12"); // NOI18N

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(16, 16, 16)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado1)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa1))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado8)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa8))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado2)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa2))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado3)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa3))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado4)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa4))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado5)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa5))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado6)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa6))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado11)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa11))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado7)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa7))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado9)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa9))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado10)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa10))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Estado12)
                        .addGap(18, 18, 18)
                        .addComponent(lblEtapa12)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado1)
                    .addComponent(lblEtapa1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado2)
                    .addComponent(lblEtapa2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado3)
                    .addComponent(lblEtapa3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado4)
                    .addComponent(lblEtapa4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado5)
                    .addComponent(lblEtapa5))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado6)
                    .addComponent(lblEtapa6))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado7)
                    .addComponent(lblEtapa7))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado8)
                    .addComponent(lblEtapa8))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado9)
                    .addComponent(lblEtapa9))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Estado10)
                    .addComponent(lblEtapa10))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(Estado11)
                    .addComponent(lblEtapa11))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(Estado12)
                    .addComponent(lblEtapa12))
                .addContainerGap(132, Short.MAX_VALUE))
        );

        jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jPanel3.setName("jPanel3"); // NOI18N
        jPanel3.setLayout(new java.awt.CardLayout());

        jProgressBar1.setVisible(false);
        jProgressBar1.setName("jProgressBar1"); // NOI18N

        jToolBar1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jToolBar1.setRollover(true);
        jToolBar1.setEnabled(false);
        jToolBar1.setName("jToolBar1"); // NOI18N

        SesionAnterior.setIcon(resourceMap.getIcon("SesionAnterior.icon")); // NOI18N
        SesionAnterior.setFocusable(false);
        SesionAnterior.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        SesionAnterior.setName("SesionAnterior"); // NOI18N
        SesionAnterior.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        SesionAnterior.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                SesionAnteriorActionPerformed(evt);
            }
        });
        jToolBar1.add(SesionAnterior);

        jButton4.setIcon(resourceMap.getIcon("jButton4.icon")); // NOI18N
        jButton4.setText(resourceMap.getString("jButton4.text")); // NOI18N
        jButton4.setFocusable(false);
        jButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jButton4.setName("jButton4"); // NOI18N
        jButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });
        jToolBar1.add(jButton4);

        botonDeshacer.setIcon(resourceMap.getIcon("botonDeshacer.icon")); // NOI18N
        botonDeshacer.setEnabled(false);
        botonDeshacer.setFocusable(false);
        botonDeshacer.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        botonDeshacer.setName("botonDeshacer"); // NOI18N
        botonDeshacer.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        botonDeshacer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonDeshacerActionPerformed(evt);
            }
        });
        jToolBar1.add(botonDeshacer);

        BotonRehacer.setIcon(resourceMap.getIcon("BotonRehacer.icon")); // NOI18N
        BotonRehacer.setEnabled(false);
        BotonRehacer.setFocusable(false);
        BotonRehacer.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        BotonRehacer.setName("BotonRehacer"); // NOI18N
        BotonRehacer.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BotonRehacer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonRehacerActionPerformed(evt);
            }
        });
        jToolBar1.add(BotonRehacer);

        jButtonHelpToolBar.setIcon(resourceMap.getIcon("jButtonHelpToolBar.icon")); // NOI18N
        jButtonHelpToolBar.setFocusable(false);
        jButtonHelpToolBar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jButtonHelpToolBar.setName("jButtonHelpToolBar"); // NOI18N
        jButtonHelpToolBar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jButtonHelpToolBar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonHelpToolBarActionPerformed(evt);
            }
        });
        jToolBar1.add(jButtonHelpToolBar);

        jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jPanel2.setName("jPanel2"); // NOI18N

        jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
        jButton1.setName("jButton1"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N
        jButton2.setName("jButton2"); // NOI18N
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(559, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addGap(18, 18, 18)
                .addComponent(jButton2)
                .addGap(18, 18, 18))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        lblCargaEstado.setName("lblCargaEstado"); // NOI18N

        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N
        jMenu1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu1ActionPerformed(evt);
            }
        });

        jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem1.setIcon(resourceMap.getIcon("jMenuItem1.icon")); // NOI18N
        jMenuItem1.setText(resourceMap.getString("jMenuItem1.text")); // NOI18N
        jMenuItem1.setName("jMenuItem1"); // NOI18N
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem1);

        jMenuItem8.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem8.setIcon(resourceMap.getIcon("jMenuItem8.icon")); // NOI18N
        jMenuItem8.setText(resourceMap.getString("jMenuItem8.text")); // NOI18N
        jMenuItem8.setName("jMenuItem8"); // NOI18N
        jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem8ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem8);

        jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem2.setIcon(resourceMap.getIcon("jMenuItem2.icon")); // NOI18N
        jMenuItem2.setText(resourceMap.getString("jMenuItem2.text")); // NOI18N
        jMenuItem2.setName("jMenuItem2"); // NOI18N
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem2);

        jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem3.setIcon(resourceMap.getIcon("jMenuItem3.icon")); // NOI18N
        jMenuItem3.setText(resourceMap.getString("jMenuItem3.text")); // NOI18N
        jMenuItem3.setName("jMenuItem3"); // NOI18N
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem3);

        jMenuBar1.add(jMenu1);

        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
        jMenu2.setName("jMenu2"); // NOI18N

        jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem4.setIcon(resourceMap.getIcon("jMenuItem4.icon")); // NOI18N
        jMenuItem4.setText(resourceMap.getString("jMenuItem4.text")); // NOI18N
        jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem4ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem4);

        jMenuItem5.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Y, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem5.setIcon(resourceMap.getIcon("jMenuItem5.icon")); // NOI18N
        jMenuItem5.setText(resourceMap.getString("jMenuItem5.text")); // NOI18N
        jMenuItem5.setName("jMenuItem5"); // NOI18N
        jMenu2.add(jMenuItem5);

        jMenuBar1.add(jMenu2);

        jMenu3.setText(resourceMap.getString("jMenu3.text")); // NOI18N
        jMenu3.setName("jMenu3"); // NOI18N

        jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.ALT_MASK));
        jMenuItem6.setIcon(resourceMap.getIcon("jMenuItem6.icon")); // NOI18N
        jMenuItem6.setText(resourceMap.getString("jMenuItem6.text")); // NOI18N
        jMenuItem6.setName("jMenuItem6"); // NOI18N
        jMenu3.add(jMenuItem6);

        jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0));
        jMenuItem7.setIcon(resourceMap.getIcon("jMenuItem7.icon")); // NOI18N
        jMenuItem7.setText(resourceMap.getString("jMenuItem7.text")); // NOI18N
        jMenuItem7.setName("jMenuItem7"); // NOI18N
        jMenuItem7.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jMenuItem7MouseClicked(evt);
            }
        });
        jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem7ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem7);

        jMenuBar1.add(jMenu3);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 1063, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 785, Short.MAX_VALUE)))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(lblCargaEstado)
                        .addGap(57, 57, 57)
                        .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 484, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblCargaEstado))
                .addContainerGap())
        );

        jPanel1.getAccessibleContext().setAccessibleDescription(resourceMap.getString("jPEstados.AccessibleContext.accessibleDescription")); // NOI18N

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // TODO add your handling code here:
        //System.out.println("est" + " " + numeroEstado);

        //activar botones siguiente anterior desde la vista cargar archivos
        if (nvista == 0) {
            BotonRehacer.setEnabled(false);
            botonDeshacer.setEnabled(false);
        } else {
            BotonRehacer.setEnabled(true);
            botonDeshacer.setEnabled(true);
        }

        this.control.activarV(nvista, numeroEstado);
        // TODO add your handling code here:
        this.control.getVista().setTextChargeLabel("");
        if (this.numeroEstado == 2 && nvista == 2) { // vista inicio a vista cargar archivos
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 2
            this.lblEtapa2.setEnabled(true);

            //this.numeroEstado = 2;

        } else if (this.numeroEstado == 3 && nvista == 3) { // vista cargar archivos pasando a vista identificar CU1
            /*if(this.getSA() == 0){*/
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 3
            this.lblEtapa3.setEnabled(true);
            //this.numeroEstado = 3;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 4 && nvista == 4) { // vista identificar CU1 a identificar CU2
            /*if(this.getSA() == 0){*/
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 4
            this.lblEtapa4.setEnabled(true);

            //this.numeroEstado = 4;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 5 && nvista == 5) { // vista identificar CU2 a obtener actores
            /*if(this.getSA() == 0){*/
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 5
            this.lblEtapa5.setEnabled(true);
            //this.numeroEstado = 5;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 6 && nvista == 6) { // vista obtener actores a obtener precondiciones
            /*if(this.getSA() == 0){*/
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 6
            this.lblEtapa6.setEnabled(true);
            /* }
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
            //this.numeroEstado = 6;
        } else if (this.numeroEstado == 7 && nvista == 7) {// vista obtener precondiciones a obtener resumen
            /*if(this.getSA() == 0){*/
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 7
            this.lblEtapa7.setEnabled(true);
            //this.numeroEstado = 7;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 8 && nvista == 8) { // vista obtener resumen a obtener postcondiciones
            /*if(this.getSA() == 0){*/
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 8
            this.lblEtapa8.setEnabled(true);
            //this.numeroEstado = 8;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 9 && nvista == 9) { // vista obtener postcondiciones a obtener descripcion 1
            /*if(this.getSA() == 0){*/
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 9
            this.lblEtapa9.setEnabled(true);
            //this.numeroEstado = 9;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 10 && nvista == 10) { // vista obtener descripcion 1 a obtener descripcion 2
            /*if(this.getSA() == 0){*/
            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 10
            this.lblEtapa10.setEnabled(true);
            //this.numeroEstado = 10;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 11 && nvista == 11) {// vista obtener descripcion 2 a obtener excepciones 1
            /*if(this.getSA() == 0){*/
            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 11
            this.lblEtapa11.setEnabled(true);
            //this.numeroEstado = 11;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 12 && nvista == 12) {// vista obtener excepciones1 a vista excepciones2
            /*if(this.getSA() == 0){*/
            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //habilitar label etapa 12
            this.lblEtapa12.setEnabled(true);
            //this.numeroEstado = 12;
            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        } else if (this.numeroEstado == 13 && nvista == 13) {// vista obtener excepciones2 a vista definir CU
            /*if(this.getSA() == 0){*/
            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            //this.Estado13.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //this.numeroEstado = 13;

            /*}
            else{
            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
            this.Estado13.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            }*/
        }


    }//GEN-LAST:event_jButton2ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        //en todas las vistas menos en la 2 se hace una nueva comprobacion para saber si el paso anterior se completo para marcarla con ticket
        //de lo contrario se marca con reloj de arena
        //falta...

        //codigo para volver atras y guardar si es que estoy en vista 3
        int resEleccion = 1;
        if (nvista == 3) {
            JOptionPane nombreDelDialogo = new JOptionPane();
            Object[] opciones = {"Si", "No", "Cancelar"};
            int eleccion = JOptionPane.showOptionDialog(this, "Se volverá al menú de carga de archivos del programa y se perderán los datos del proyecto actual. ¿Desea Guardar ahora los datos de la misma ?", "Advertencia", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, opciones, "Aceptar");

            if (eleccion == JOptionPane.YES_OPTION) {
                //resEleccion = 1;
                if (control.getControladorCU1().validarCU1() == false) {
                    control.getControladorCU1().Alerta("No es posible guardar si no ha completado al menos los pasos de esta ventana.");
                    resEleccion = 0;
                } else {
                    jButton4ActionPerformed(evt);
                }
            } else if (eleccion == JOptionPane.NO_OPTION) {
                //resEleccion = 1;;
            } else if (eleccion == JOptionPane.CANCEL_OPTION) {
                resEleccion = 0;
            }


        }
        if (resEleccion == 1) {

            this.control.activarVatras(nvista, numeroEstado);
            if (this.numeroEstado == 2 && this.nvista == 2) {
                //deshabilitar etapas anteriores
                this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                this.lblEtapa3.setEnabled(false);
                this.lblEtapa4.setEnabled(false);
                this.lblEtapa5.setEnabled(false);
                this.lblEtapa6.setEnabled(false);
                this.lblEtapa7.setEnabled(false);
                this.lblEtapa8.setEnabled(false);
                this.lblEtapa9.setEnabled(false);
                this.lblEtapa10.setEnabled(false);
                this.lblEtapa11.setEnabled(false);
                this.lblEtapa12.setEnabled(false);

                // this.Estado13.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                //this.numeroEstado = 1;

            } else if (this.numeroEstado == 3 && this.nvista == 3) {
                this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                //this.numeroEstado = 2;

            } else if (this.numeroEstado == 4 && this.nvista == 4) {
                this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                //this.numeroEstado = 3;

            } else if (this.numeroEstado == 5 && this.nvista == 5) {
                this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                //this.numeroEstado = 4;

            } else if (this.numeroEstado == 6 && this.nvista == 6) {

                this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                //this.numeroEstado = 5;

            } else if (this.numeroEstado == 7 && this.nvista == 7) {
                this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                //this.numeroEstado = 6;

            } else if (this.numeroEstado == 8 && this.nvista == 8) {
                if (this.getDescripcion1Val() == 1) {
                    this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                    this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                } else {
                    this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
                    this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                    this.lblEtapa9.setEnabled(false);
                }

                //this.numeroEstado = 7;
            } else if (this.numeroEstado == 9 && this.nvista == 9) {
                this.setDescripcion1Val(1);
                this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));

                //this.numeroEstado = 8;
            } else if (this.numeroEstado == 10 && this.nvista == 10) {
                this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                this.numeroEstado = 9;

            } else if (this.numeroEstado == 11 && this.nvista == 11) {
                this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                //this.numeroEstado = 10;

            } //else if (this.numeroEstado == 12 && this.nvista == 12) {
            //  this.Estado13.setIcon(new ImageIcon(getClass().getResource("/Fotos/icon2_wait.png")));
            //  this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
            //  this.updateBar(88);
            // }
        } else if (resEleccion == 0) {
            //mantiene estado
        }



    }//GEN-LAST:event_jButton1ActionPerformed

    private void jMenuItem7MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenuItem7MouseClicked
        String path = null;
        System.out.println("abriendo ayuda?");
        try {
            path = new File(".").getCanonicalPath();
        } catch (IOException ex) {
            System.out.println(ex.toString());
        }

        Desktop escritorio = Desktop.getDesktop();
        try {
            File archivo = new File(path + "/Ayuda.chm");
            escritorio.open(archivo);
        } catch (IOException ex) {
            System.out.println(ex.toString());
        }

    }//GEN-LAST:event_jMenuItem7MouseClicked

    private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
        String path = null;
        System.out.println("abriendo ayuda?");
        try {
            path = new File(".").getCanonicalPath();
        } catch (IOException ex) {
            System.out.println(ex.toString());
        }

        Desktop escritorio = Desktop.getDesktop();
        try {
            File archivo = new File(path + "/Ayuda.chm");
            escritorio.open(archivo);
        } catch (IOException ex) {
            System.out.println(ex.toString());
        }

    }//GEN-LAST:event_jMenuItem7ActionPerformed

    private void SesionAnteriorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SesionAnteriorActionPerformed
        // TODO add your handling code here:
        JFileChooser fileChooser = new JFileChooser();
        FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
        fileChooser.setFileFilter(filtro);


        int seleccion = fileChooser.showOpenDialog(this);
        //System.out.println(fileChooser.getSelectedFile());


        //Comienza barra de carga


        if (seleccion == JFileChooser.APPROVE_OPTION) {

            /*661*/ String resp = null;
            File Ruta = fileChooser.getSelectedFile();
            String path = Ruta.getPath();

            //ControladorCargarArchivos ca = new ControladorCargarArchivos(control);
            controlador = new ControladorCargarArchivos(control);
            //System.out.println(ca.validarSesionXML(path));

            /*662*/ try {
                /*663*/
                /*664*/             //valida la estructura del archivo de sesion                       
/*665*/ if (controlador.validarSesionXML(path) == null) {
                    nombreSesion = path;
                    System.out.println(path);
                    indeterminateBar();
                    setTextChargeLabel("Cargando Proyecto...");

                    /*666*/                 // Para cargar el archivo de la sesion anterior
/*667*/ resp = controlador.cargarSesionAnterior(path);
                    /*668*/ this.cargarA = 1;
                    /*669*/ if (resp == null) {
                        /*670*/ Icon ico = new ImageIcon(getClass().getResource("/Fotos/tick2.png"));
                        stopBar();
                        setTextChargeLabel("Proyecto cargado.");
                        /*579*/ JOptionPane.showMessageDialog(null, "El proyecto ha sido cargada exitosamente", "Aviso", JOptionPane.INFORMATION_MESSAGE, ico);
                        /*671*/                     //this.jButton2.setEnabled(true);                             
                        controlador.irConstroladorSesion();

                        if (this.nvista == 3) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 4) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 5) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 6) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 7) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 8) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 9) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 10) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 11) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 12) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 13) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            //this.Estado13.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        }


                        /*672*/                    } else {
                        // Se frena la barra de carga
                        stopBar();
                        setTextChargeLabel("Error al cargar archivos");
                        JOptionPane.showMessageDialog(null, "Los archivos de entrada presentan problemas al cargar. " + resp, "Aviso", JOptionPane.ERROR_MESSAGE);
                        /*674*/                    }
                    /*675*/                } else {
                    // Se frena la barra de carga
                    stopBar();
                    setTextChargeLabel("Error al cargar archivos");
                    /*676*/ JOptionPane.showMessageDialog(null, "El archivo seleccionado no corresponde a un archivo de proyecto valido", "¡Error!", JOptionPane.ERROR_MESSAGE);
                    /*677*/                }
                /*678*/
                /*679*/            } catch (ParserConfigurationException ex) {
                /*680*/ Logger.getLogger(JPCargarArchivos.class.getName()).log(Level.SEVERE, null, ex);
                /*681*/            }


        }


    }//GEN-LAST:event_SesionAnteriorActionPerformed

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
        // TODO add your handling code here:
        //guarda la sesion con los datos ingresados hasta el momento en un archivo xml
        if (nombreSesion == "") {
            jMenuItem8ActionPerformed(evt);
        } else {
            if (this.nvista == 1) {
                control.getInicio().Alerta("No es posible guardar el proyecto en este paso");
            } else if (this.nvista == 2) {
                control.getControladorCA().Alerta("No es posible guardar el proyecto en este paso");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == false) {
                control.getControladorCU1().Alerta("No es posible guardar el proyecto si no ha completado al menos los pasos de esta ventana.");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == true) {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
                jF1.setFileFilter(filtro);
                String ruta = nombreSesion;
                System.out.println("1 " + ruta);
                //Se muestra la barra de carga
                try {
                    indeterminateBar();
                    setTextChargeLabel("Guardando...");
                    control.guardar(nvista, ruta);
                    //Se muestra la barra de carga
                    stopBar();
                    setTextChargeLabel("Guardado");
                    JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));

                } catch (Exception ex) {
                    ex.printStackTrace();
                }

            } else {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
                jF1.setFileFilter(filtro);
                String ruta = nombreSesion;
                System.out.println("2 " + ruta);
                try {
                    indeterminateBar();
                    setTextChargeLabel("Guardando...");
                    control.guardar(nvista, ruta);
                    //Se muestra la barra de carga
                    stopBar();
                    setTextChargeLabel("Guardado");
                    JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                } catch (Exception ex) {
                    ex.printStackTrace();
                }

            }
            stopBar();
            System.out.println(nombreSesion);
        }
        //setTextChargeLabel("");
    }//GEN-LAST:event_jButton4ActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        // TODO add your handling code here:
        //guarda la sesion con los datos ingresados hasta el momento en un archivo xml
        if (nombreSesion == "") {
            jMenuItem8ActionPerformed(evt);
        } else {
            if (this.nvista == 1) {
                control.getInicio().Alerta("No es posible guardar el proyecto en este paso");
            } else if (this.nvista == 2) {
                control.getControladorCA().Alerta("No es posible guardar el proyecto en este paso");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == false) {
                control.getControladorCU1().Alerta("No es posible guardar el proyecto si no ha completado al menos los pasos de esta ventana.");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == true) {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
                jF1.setFileFilter(filtro);
                String ruta = nombreSesion;
                System.out.println("1 " + ruta);
                //Se muestra la barra de carga
                try {
                    indeterminateBar();
                    setTextChargeLabel("Guardando...");
                    control.guardar(nvista, ruta);
                    //Se muestra la barra de carga
                    stopBar();
                    setTextChargeLabel("Guardado");
                    JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));

                } catch (Exception ex) {
                    ex.printStackTrace();
                }

            } else {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
                jF1.setFileFilter(filtro);
                String ruta = nombreSesion;
                System.out.println("2 " + ruta);
                try {
                    indeterminateBar();
                    setTextChargeLabel("Guardando...");
                    control.guardar(nvista, ruta);
                    //Se muestra la barra de carga
                    stopBar();
                    setTextChargeLabel("Guardado");
                    JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                } catch (Exception ex) {
                    ex.printStackTrace();
                }

            }
            stopBar();
            System.out.println(nombreSesion);
        }
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
        // TODO add your handling code here:
        JFileChooser fileChooser = new JFileChooser();
        FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
        fileChooser.setFileFilter(filtro);
        int seleccion = fileChooser.showOpenDialog(this);
        //System.out.println(fileChooser.getSelectedFile());
        //Comienza barra de carga
        indeterminateBar();
        setTextChargeLabel("Cargando Proyecto...");

        if (seleccion == JFileChooser.APPROVE_OPTION) {
            /*661*/ String resp = null;
            File Ruta = fileChooser.getSelectedFile();
            String path = Ruta.getPath();
            ControladorCargarArchivos ca = new ControladorCargarArchivos(control);
            //System.out.println(ca.validarSesionXML(path));

            /*662*/ try {
                /*663*/
                /*664*/             //valida la estructura del archivo de sesion                       
/*665*/ if (ca.validarSesionXML(path) == null) {

                    /*666*/                 // Para cargar el archivo de la sesion anterior
/*667*/ resp = ca.cargarSesionAnterior(path);
                            nombreSesion = path;
                    System.out.println(path);
                    /*668*/ this.cargarA = 1;
                    /*669*/ if (resp == null) {
                        Icon ico = new ImageIcon(getClass().getResource("/Fotos/tick2.png"));
                        // Se frena la barra de carga
                        stopBar();
                        setTextChargeLabel("Archivos Cargados.");
                        /*670*/ JOptionPane.showMessageDialog(null, "Los archivos han sido cargados exitosamente", "Aviso", JOptionPane.INFORMATION_MESSAGE, ico);
                        /*671*/                     //this.jButton2.setEnabled(true);                             
                        ca.irConstroladorSesion();

                        if (this.nvista == 3) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 4) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 5) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 6) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 7) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 8) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 9) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 10) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 11) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 12) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        } else if (this.nvista == 13) {
                            this.Estado1.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado2.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado3.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado4.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado5.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado8.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado9.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado10.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado11.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            this.Estado12.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
                            //this.Estado13.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
                        }

                        /*672*/                    } else {
                        // Se frena la barra de carga
                        stopBar();
                        setTextChargeLabel("Error al cargar archivo.");
                        /*673*/ JOptionPane.showMessageDialog(null, "Los archivos de entrada presentan problemas al cargar. " + resp, "Advertencia", JOptionPane.ERROR_MESSAGE);
                        /*674*/                    }
                    /*675*/                } else {
                    // Se frena la barra de carga
                    stopBar();
                    setTextChargeLabel("Error al cargar archivo.");
                    /*676*/ JOptionPane.showMessageDialog(null, "El archivo seleccionado no corresponde a un archivo de proyecto valido", "¡Error!", JOptionPane.ERROR_MESSAGE);
                    /*677*/                }
                /*678*/
                /*679*/            } catch (ParserConfigurationException ex) {
                /*680*/ Logger.getLogger(JPCargarArchivos.class.getName()).log(Level.SEVERE, null, ex);
                /*681*/            }

        }
        stopBar();
        setTextChargeLabel("");
    }//GEN-LAST:event_jMenuItem1ActionPerformed

    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
        // TODO add your handling code here:
        // TODO add your handling code here:
        //guarda la sesion con los datos ingresados hasta el momento en un archivo xml
        JOptionPane nombreDelDialogo = new JOptionPane();
        Object[] opciones = {"Si", "No", "Cancelar"};

        int eleccion = JOptionPane.showOptionDialog(this, "Se cerrará el programa, ¿Desea Guardar los datos antes de salir?", "Advertencia", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, opciones, "Aceptar");

        if (eleccion == JOptionPane.YES_OPTION) {
            indeterminateBar();
            setTextChargeLabel("Guardando...");

            if (this.nvista == 1) {

                stopBar();
                setTextChargeLabel("Error al guardar");
                control.getInicio().Alerta("No es posible guardar en este paso");
            } else if (this.nvista == 2) {
                stopBar();
                setTextChargeLabel("Error al guardar");
                control.getControladorCA().Alerta("No es posible guardar en este paso");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == false) {

                stopBar();
                setTextChargeLabel("Error al guardar");
                control.getControladorCU1().Alerta("No es posible guardar si no ha completado al menos los pasos de esta ventana.");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == true) {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                String ruta = "";
                try {
                    if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
                        ruta = jF1.getSelectedFile().getAbsolutePath();
                        if (new File(ruta).exists()) {
                            if (JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(null, "El archivo existe,desea reemplazarlo?", "Advertencia", JOptionPane.YES_NO_OPTION)) {


                                control.guardar(nvista, ruta);
                                stopBar();
                                setTextChargeLabel("Guardado");
                                JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                                //.archivoSesion(ruta);
                            }
                        } else {

                            control.guardar(nvista, ruta);
                            stopBar();
                            setTextChargeLabel("Guardado");
                            JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                            //.archivoSesion(ruta);
                        }
                    }
                } catch (Exception ex) {
                    stopBar();
                    setTextChargeLabel("Error al guardar");
                    ex.printStackTrace();
                }

            } else {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                String ruta = "";
                try {
                    if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
                        ruta = jF1.getSelectedFile().getAbsolutePath();
                        if (new File(ruta).exists()) {
                            if (JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(null, "El archivo existe,desea reemplazarlo?", "Advertencia", JOptionPane.YES_NO_OPTION)) {

                                stopBar();
                                setTextChargeLabel("Guardado");
                                JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                                control.guardar(nvista, ruta);
                                //.archivoSesion(ruta);
                            }
                        } else {
                            control.guardar(nvista, ruta);
                            //.archivoSesion(ruta);
                        }
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
            if (this.nvista != 1 && this.nvista != 2) {
                setDefaultCloseOperation(EXIT_ON_CLOSE);
            }

        } else if (eleccion == JOptionPane.NO_OPTION) {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        } else if (eleccion == JOptionPane.CANCEL_OPTION) {
            //nada
        }
    }//GEN-LAST:event_formWindowClosing

    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
        // TODO add your handling code here:
        //guarda la sesion con los datos ingresados hasta el momento en un archivo xml
        JOptionPane nombreDelDialogo = new JOptionPane();
        Object[] opciones = {"SI", "NO", "CANCELAR"};

        int eleccion = JOptionPane.showOptionDialog(this, "Se cerrará el programa, ¿Desea Guardar los datos antes de salir?", "Advertencia", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, opciones, "Aceptar");

        if (eleccion == JOptionPane.YES_OPTION) {

            if (this.nvista == 1) {
                control.getInicio().Alerta("No es posible guardar en este paso");
            } else if (this.nvista == 2) {
                control.getControladorCA().Alerta("No es posible guardar en este paso");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == false) {
                control.getControladorCU1().Alerta("No es posible guardar si no ha completado al menos los pasos de esta ventana.");
            } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == true) {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                String ruta = "";
                try {
                    if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
                        ruta = jF1.getSelectedFile().getAbsolutePath();
                        if (new File(ruta).exists()) {
                            if (JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(null, "El archivo existe,desea reemplazarlo?", "Advertencia", JOptionPane.YES_NO_OPTION)) {
                                control.guardar(nvista, ruta);
                                //.archivoSesion(ruta);
                            }
                        } else {
                            control.guardar(nvista, ruta);
                            //.archivoSesion(ruta);
                        }
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }

            } else {
                javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
                String ruta = "";
                try {
                    if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
                        ruta = jF1.getSelectedFile().getAbsolutePath();
                        if (new File(ruta).exists()) {
                            if (JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(null, "El archivo existe,desea reemplazarlo?", "Advertencia", JOptionPane.YES_NO_OPTION)) {
                                control.guardar(nvista, ruta);
                                //.archivoSesion(ruta);
                            }
                        } else {
                            control.guardar(nvista, ruta);
                            //.archivoSesion(ruta);
                        }
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
            if (this.nvista != 1 && this.nvista != 2) {
                setDefaultCloseOperation(EXIT_ON_CLOSE);
            }

        } else if (eleccion == JOptionPane.NO_OPTION) {
            System.exit(0);
        } else if (eleccion == JOptionPane.CANCEL_OPTION) {
            //nada
        }
    }//GEN-LAST:event_jMenuItem3ActionPerformed

    private void botonDeshacerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonDeshacerActionPerformed
        if (this.numeroEstado == 3 && this.nvista == 3) {
            this.control.getControladorCU1().getVista().deshacer();
        }
        if (this.numeroEstado == 4 && this.nvista == 4) {
            this.control.getControladorCU2().getVista().deshacer();
        }
        if (this.numeroEstado == 6 && this.nvista == 6) {
            this.control.getConroladorP().getVista().deshacer();
        }
        if (this.numeroEstado == 7 && this.nvista == 7) {
            this.control.getControladorR().getVista().deshacer();
        }
        if (this.numeroEstado == 8 && this.nvista == 8) {
            this.control.getControladorPC().getVista().deshacer();
        }

    }//GEN-LAST:event_botonDeshacerActionPerformed

    private void BotonRehacerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonRehacerActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_BotonRehacerActionPerformed

    private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu1ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jMenu1ActionPerformed

    private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
        if (this.numeroEstado == 3 && this.nvista == 3) {
            this.control.getControladorCU1().getVista().deshacer();
        }
        if (this.numeroEstado == 4 && this.nvista == 4) {
            this.control.getControladorCU2().getVista().deshacer();
        }
        if (this.numeroEstado == 6 && this.nvista == 6) {
            this.control.getConroladorP().getVista().deshacer();
        }
        if (this.numeroEstado == 7 && this.nvista == 7) {
            this.control.getControladorR().getVista().deshacer();
        }
        if (this.numeroEstado == 8 && this.nvista == 8) {
            this.control.getControladorPC().getVista().deshacer();
        }
    }//GEN-LAST:event_jMenuItem4ActionPerformed

    private void jButtonHelpToolBarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonHelpToolBarActionPerformed
        // Agregar codigo boton ayuda de la barra de herramientas aqui.
    }//GEN-LAST:event_jButtonHelpToolBarActionPerformed

    private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed
        // TODO add your handling code here:
        //guarda la sesion con los datos ingresados hasta el momento en un archivo xml
        if (this.nvista == 1) {
            control.getInicio().Alerta("No es posible guardar el proyecto en este paso");
        } else if (this.nvista == 2) {
            control.getControladorCA().Alerta("No es posible guardar el proyecto en este paso");
        } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == false) {
            control.getControladorCU1().Alerta("No es posible guardar el proyecto si no ha completado al menos los pasos de esta ventana.");
        } else if (this.nvista == 3 && control.getControladorCU1().validarCU1() == true) {
            javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
            FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
            jF1.setFileFilter(filtro);
            String ruta = "";
            //Se muestra la barra de carga
            indeterminateBar();
            setTextChargeLabel("Guardando...");
            try {
                if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
                    ruta = jF1.getSelectedFile().getAbsolutePath();
                    if (new File(ruta).exists()) {
                        if (JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(null, "El archivo existe,desea reemplazarlo?", "Advertencia", JOptionPane.YES_NO_OPTION)) {
                            indeterminateBar();
                            setTextChargeLabel("Guardando...");
                            control.guardar(nvista, ruta);
                            nombreSesion = ruta;
                            //Se muestra la barra de carga
                            stopBar();
                            setTextChargeLabel("Guardado");
                            JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                            //.archivoSesion(ruta);
                            
                        }
                    } else {
                        indeterminateBar();
                        setTextChargeLabel("Guardando...");
                        control.guardar(nvista, ruta);
                        nombreSesion = ruta;
                        //Se muestra la barra de carga
                        stopBar();
                        setTextChargeLabel("Guardado");
                        JOptionPane.showMessageDialog(this, "El proyecto ha sido guardada.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                        //.archivoSesion(ruta);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }

        } else {
            javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
            FileNameExtensionFilter filtro = new FileNameExtensionFilter("Archivo XML (.xml)", "xml");
            jF1.setFileFilter(filtro);
            String ruta = "";
            try {
                if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
                    ruta = jF1.getSelectedFile().getAbsolutePath();
                    if (new File(ruta).exists()) {
                        if (JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(null, "El archivo existe, desea reemplazarlo?", "Advertencia", JOptionPane.YES_NO_OPTION)) {

                            control.guardar(nvista, ruta);
                            nombreSesion = ruta;
                            //Se muestra la barra de carga
                            stopBar();
                            setTextChargeLabel("Guardado");
                            JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                            //.archivoSesion(ruta);
                        }
                    } else {

                        control.guardar(nvista, ruta);
                        nombreSesion = ruta;
                        //Se muestra la barra de carga
                        stopBar();
                        setTextChargeLabel("Guardado");
                        JOptionPane.showMessageDialog(this, "El proyecto ha sido guardado.", "Proyecto Guardado", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(getClass().getResource("/Fotos/tick2.png")));
                        //.archivoSesion(ruta);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        
    }//GEN-LAST:event_jMenuItem8ActionPerformed

    public void setNvista(int nvista) {
        this.nvista = nvista;
    }

    public void setNumeroEstado(int numeroEstado) {
        this.numeroEstado = numeroEstado;
    }

    public void setBackDisable() {
        jButton1.setEnabled(false);
    }

    public void setBackEnable() {
        jButton1.setEnabled(true);
    }

    public void setforwardEnable() {
        jButton2.setEnabled(true);
    }

    public void setforwardDisable() {
        jButton2.setEnabled(false);
    }
    /**
     * @param args the command line arguments
     */
//    public static void main(String args[]) {
//        java.awt.EventQueue.invokeLater(new Runnable() {
//
//            public void run() {
//                new VistaPrincipal().setVisible(true);
//            }
//        });
//    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton BotonRehacer;
    private javax.swing.JLabel Estado1;
    private javax.swing.JLabel Estado10;
    private javax.swing.JLabel Estado11;
    private javax.swing.JLabel Estado12;
    private javax.swing.JLabel Estado2;
    private javax.swing.JLabel Estado3;
    private javax.swing.JLabel Estado4;
    private javax.swing.JLabel Estado5;
    private javax.swing.JLabel Estado6;
    private javax.swing.JLabel Estado7;
    private javax.swing.JLabel Estado8;
    private javax.swing.JLabel Estado9;
    private javax.swing.JButton SesionAnterior;
    private javax.swing.JButton botonDeshacer;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButtonHelpToolBar;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem4;
    private javax.swing.JMenuItem jMenuItem5;
    private javax.swing.JMenuItem jMenuItem6;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem jMenuItem8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JProgressBar jProgressBar1;
    private javax.swing.JToolBar jToolBar1;
    private javax.swing.JLabel lblCargaEstado;
    private javax.swing.JLabel lblEtapa1;
    private javax.swing.JLabel lblEtapa10;
    private javax.swing.JLabel lblEtapa11;
    private javax.swing.JLabel lblEtapa12;
    private javax.swing.JLabel lblEtapa2;
    private javax.swing.JLabel lblEtapa3;
    private javax.swing.JLabel lblEtapa4;
    private javax.swing.JLabel lblEtapa5;
    private javax.swing.JLabel lblEtapa6;
    private javax.swing.JLabel lblEtapa7;
    private javax.swing.JLabel lblEtapa8;
    private javax.swing.JLabel lblEtapa9;
    // End of variables declaration//GEN-END:variables

    public void recuperarEstado6() {
        this.Estado6.setIcon(new ImageIcon(getClass().getResource("/Fotos/Arrow2.png")));
        this.Estado7.setIcon(new ImageIcon(getClass().getResource("/Fotos/ready.png")));
        this.numeroEstado = 6;
    }
}
